﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace JESAI.Application.Abstractions.Sys.Dtos
{
    public class AuditLogDto
    {
        /// <summary>
        /// 请求连接ID
        /// </summary>
        public string ConnectionId { get; set; }

        /// <summary>
        /// 会话ID
        /// </summary>
        public string SessionId { get; set; }

        /// <summary>
        /// 请求处理耗时
        /// </summary>
        public long RequestHandleTime { get; set; }

        /// <summary>
        /// 请求参数
        /// </summary>
        public string RequestParams { get; set; }

        /// <summary>
        /// 响应参数
        /// </summary>
        public string ResponseParams { get; set; }

        /// <summary>
        /// 请求路径
        /// </summary>
        public string RequestPath { get; set; }

        /// <summary>
        /// 请求AppKey
        /// </summary>
        public string AppKey { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; } = DateTime.Now;

        /// <summary>
        /// 响应时间
        /// </summary>
        public DateTime? ResponseTime { get; set; }

        /// <summary>
        /// 用户代理
        /// </summary>
        public string UserAgent { get; set; }

        /// <summary>
        /// 远端IP
        /// </summary>
        public string RemoteIp { get; set; }

        /// <summary>
        /// 远端端口
        /// </summary>
        public string RemotePort { get; set; }

        /// <summary>
        /// 本地端口
        /// </summary>
        public string LocalPort { get; set; }

        /// <summary>
        /// 用户协议
        /// </summary>
        public string Protocol { get; set; }

        /// <summary>
        /// 本地IP
        /// </summary>
        public string LocalIp { get; set; }
    }
}
